package com.javabase.d01_base;

public class V05_loop {
    public static void main(String[] args) {
        loopV1();
        System.out.println("==============");
        loopV2();
        System.out.println("==============");
        loopV3();
    }

    // 掌握break和continue的作用
    public static void loopV1() {
        // 1、break:跳出并结束当前所在循环的执行。
        for (int i = 1; i <= 5; i++) {
            System.out.println("break值：" + i);
            if(i == 3){
                break; // 跳出并结束当前所在循环的执行。
            }
        }

        // 2、continue:跳出当前循环的当次执行，直接进入循环的下一次执行。
        for (int i = 1; i <= 5; i++) {
            if(i == 3) {
                continue; // 跳出当前循环的当次执行
            }
            System.out.println("continue值：" + i);
        }
    }

    // 掌握使用for循环批量产生数据
    public static void loopV2() {
        // 1-100的数据和：
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i; //sum = sum  + i;
        }
        System.out.println("1-100的数据和：" +  sum);

        // 1-100之间的奇数和：
        int sum2 = 0;
        for (int i = 1; i <= 100; i++) {
            if(i % 2 == 1){
                sum2 += i;
            }
        }
        System.out.println("1-100之间的奇数和：" + sum2);

        // 1-100之间的偶数和：
        int sum3 = 0;
        for (int i = 1; i <= 100; i++) {
            if(i % 2 == 0){
                sum3 += i;
            }
        }
        System.out.println("1-100之间的偶数和：" + sum3);
    }

    // 掌握while循环的书写格式，以及理解其执行流程
    public static void loopV3() {
        // 1、定义变量记住珠穆朗玛峰的高度和纸张的高度。
        double peakHeight = 8848860;
        double paperThickness = 0.1;

        // 3、定义一个变量count用于记住纸张折叠了多少次
        int count = 0;

        // 2、定义while循环控制纸张开始折叠
        while (paperThickness < peakHeight) {
            // 把纸张进行折叠，把纸张的厚度变成原来的2倍。
            paperThickness = paperThickness * 2;
            count++;
        }
        System.out.println("需要折叠多少次：" + count);
        System.out.println("最终纸张的厚度是：" + paperThickness);
    }


}
